// 定义懒加载插件

import { useIntersectionObserver } from '@vueuse/core'

export const lazyPlugin = {
  install(app) {
    // 懒加载的指令逻辑
    // 定义全局指令
    app.directive('img-lazy', {
      mounted(el, binding) {
        // el: 指令绑定的那个元素 img
        // binding: binging.value = 表达式的值
        const { stop } = useIntersectionObserver(el, ([entry]) => {
          // 进入视口区域
          if (entry?.isIntersecting) {
            el.src = binding.value
            stop()
          }
        })
      },
    })
  },
}
